package org.gap.dao;

import java.util.Calendar;
import java.util.Set;

import org.gap.domain.Patient;

import org.skyway.spring.util.dao.JpaDao;

import org.springframework.dao.DataAccessException;

/**
 * DAO to manage Patient entities.
 * 
 */
public interface PatientDAO extends JpaDao<Patient> {

	/**
	 * JPQL Query - findPatientByPatDateEntree
	 *
	 */
	public Set<Patient> findPatientByPatDateEntree(java.util.Calendar patDateEntree) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateEntree
	 *
	 */
	public Set<Patient> findPatientByPatDateEntree(Calendar patDateEntree, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatAxeMedicalContaining
	 *
	 */
	public Set<Patient> findPatientByPatAxeMedicalContaining(String patAxeMedical) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatAxeMedicalContaining
	 *
	 */
	public Set<Patient> findPatientByPatAxeMedicalContaining(String patAxeMedical, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateSortieBefore
	 *
	 */
	public Set<Patient> findPatientByPatDateSortieBefore(java.util.Calendar patDateSortie) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateSortieBefore
	 *
	 */
	public Set<Patient> findPatientByPatDateSortieBefore(Calendar patDateSortie, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatMotifSortie
	 *
	 */
	public Set<Patient> findPatientByPatMotifSortie(String patMotifSortie) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatMotifSortie
	 *
	 */
	public Set<Patient> findPatientByPatMotifSortie(String patMotifSortie, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatSousAxeMedicalContaining
	 *
	 */
	public Set<Patient> findPatientByPatSousAxeMedicalContaining(String patSousAxeMedical) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatSousAxeMedicalContaining
	 *
	 */
	public Set<Patient> findPatientByPatSousAxeMedicalContaining(String patSousAxeMedical, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatMotifSortieContaining
	 *
	 */
	public Set<Patient> findPatientByPatMotifSortieContaining(String patMotifSortie_1) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatMotifSortieContaining
	 *
	 */
	public Set<Patient> findPatientByPatMotifSortieContaining(String patMotifSortie_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateDerniereVisiteBefore
	 *
	 */
	public Set<Patient> findPatientByPatDateDerniereVisiteBefore(java.util.Calendar patDateDerniereVisite) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateDerniereVisiteBefore
	 *
	 */
	public Set<Patient> findPatientByPatDateDerniereVisiteBefore(Calendar patDateDerniereVisite, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDiagnosticContaining
	 *
	 */
	public Set<Patient> findPatientByPatDiagnosticContaining(String patDiagnostic) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDiagnosticContaining
	 *
	 */
	public Set<Patient> findPatientByPatDiagnosticContaining(String patDiagnostic, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatPatient
	 *
	 */
	public Patient findPatientByPatPatient(Integer patPatient) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatPatient
	 *
	 */
	public Patient findPatientByPatPatient(Integer patPatient, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findAllPatients
	 *
	 */
	public Set<Patient> findAllPatients() throws DataAccessException;

	/**
	 * JPQL Query - findAllPatients
	 *
	 */
	public Set<Patient> findAllPatients(int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateDerniereVisite
	 *
	 */
	public Set<Patient> findPatientByPatDateDerniereVisite(java.util.Calendar patDateDerniereVisite_1) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateDerniereVisite
	 *
	 */
	public Set<Patient> findPatientByPatDateDerniereVisite(Calendar patDateDerniereVisite_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPrimaryKey
	 *
	 */
	public Patient findPatientByPrimaryKey(Integer patPatient_1) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPrimaryKey
	 *
	 */
	public Patient findPatientByPrimaryKey(Integer patPatient_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatTelContact
	 *
	 */
	public Set<Patient> findPatientByPatTelContact(Integer patTelContact) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatTelContact
	 *
	 */
	public Set<Patient> findPatientByPatTelContact(Integer patTelContact, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateSortie
	 *
	 */
	public Set<Patient> findPatientByPatDateSortie(java.util.Calendar patDateSortie_1) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateSortie
	 *
	 */
	public Set<Patient> findPatientByPatDateSortie(Calendar patDateSortie_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateDerniereVisiteAfter
	 *
	 */
	public Set<Patient> findPatientByPatDateDerniereVisiteAfter(java.util.Calendar patDateDerniereVisite_2) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateDerniereVisiteAfter
	 *
	 */
	public Set<Patient> findPatientByPatDateDerniereVisiteAfter(Calendar patDateDerniereVisite_2, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDivers
	 *
	 */
	public Set<Patient> findPatientByPatDivers(String patDivers) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDivers
	 *
	 */
	public Set<Patient> findPatientByPatDivers(String patDivers, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatAxeMedical
	 *
	 */
	public Set<Patient> findPatientByPatAxeMedical(String patAxeMedical_1) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatAxeMedical
	 *
	 */
	public Set<Patient> findPatientByPatAxeMedical(String patAxeMedical_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDiversContaining
	 *
	 */
	public Set<Patient> findPatientByPatDiversContaining(String patDivers_1) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDiversContaining
	 *
	 */
	public Set<Patient> findPatientByPatDiversContaining(String patDivers_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateSortieAfter
	 *
	 */
	public Set<Patient> findPatientByPatDateSortieAfter(java.util.Calendar patDateSortie_2) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateSortieAfter
	 *
	 */
	public Set<Patient> findPatientByPatDateSortieAfter(Calendar patDateSortie_2, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatSousAxeMedical
	 *
	 */
	public Set<Patient> findPatientByPatSousAxeMedical(String patSousAxeMedical_1) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatSousAxeMedical
	 *
	 */
	public Set<Patient> findPatientByPatSousAxeMedical(String patSousAxeMedical_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDiagnostic
	 *
	 */
	public Set<Patient> findPatientByPatDiagnostic(String patDiagnostic_1) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDiagnostic
	 *
	 */
	public Set<Patient> findPatientByPatDiagnostic(String patDiagnostic_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateEntreeAfter
	 *
	 */
	public Set<Patient> findPatientByPatDateEntreeAfter(java.util.Calendar patDateEntree_1) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateEntreeAfter
	 *
	 */
	public Set<Patient> findPatientByPatDateEntreeAfter(Calendar patDateEntree_1, int startResult, int maxRows) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateEntreeBefore
	 *
	 */
	public Set<Patient> findPatientByPatDateEntreeBefore(java.util.Calendar patDateEntree_2) throws DataAccessException;

	/**
	 * JPQL Query - findPatientByPatDateEntreeBefore
	 *
	 */
	public Set<Patient> findPatientByPatDateEntreeBefore(Calendar patDateEntree_2, int startResult, int maxRows) throws DataAccessException;

}